package ace.module.product.core.impl.manager;

import ace.cmp.data.spring.data.jdbc.querydsl.rsql.core.model.SaveContext;
import ace.cmp.data.spring.data.jdbc.querydsl.rsql.core.model.SaveListContext;
import ace.module.common.core.impl.manager.EntityOfAppManager;
import ace.module.product.api.model.dto.PmsProductSkuAttributeValueDto;
import ace.module.product.api.model.input.PmsProductSkuSaveInput;
import ace.module.product.core.impl.dao.entity.PmsProductAttribute;
import ace.module.product.core.impl.dao.entity.PmsProductAttributeValue;
import ace.module.product.core.impl.dao.entity.PmsProductSku;
import ace.module.product.core.impl.dao.entity.PmsProductSkuAttributeValue;

/**
 * 商品Sku的规格属性值 spring data jdbc querydsl rsql manager.
 *
 * @author Caspar
 */
public interface PmsProductSkuAttributeValueManager extends EntityOfAppManager<PmsProductSkuAttributeValue, Long, PmsProductSkuAttributeValueDto> {

  SaveListContext<PmsProductSkuAttributeValue> assemblePmsProductSkuAttributeValueSaveListContext(
      SaveContext<PmsProductSku> pmsProductSkuSaveContext,
      SaveListContext<PmsProductAttribute> pmsProductAttributeSaveListContext,
      SaveListContext<PmsProductAttributeValue> pmsProductAttributeValueSaveListContext,
      PmsProductSkuSaveInput pmsProductSkuSaveInput);
}